import java.rmi.Remote;
import java.rmi.RemoteException;

/**
 * The interface to a service that manages interactions for the distributed hashtable.
 * 
 * @author James Marquardt
 * @author Matt Adams
 * @author Justin Wong
 */
public interface RemoteNodeRegistry extends Remote {
	
	/**
	 * Adds an actual node to the service.
	 * @param the_cur_node The node being added.
	 * @return the id of the node
	 * @throws RemoteException if there is a problem with method call.
	 */
	RegistrationPacket registerNode(HostPort the_hostPort) throws RemoteException;
	
	/**
	 * Retrieves m value of the chord.
	 * 
	 * @return the chord's m value.
	 */
	int getMValue() throws RemoteException;

}
